/**
 * 文件名: curlHelper.h
 * 平台: Linux
 * 作者: Blxt
 * 描述:
 *  - curl辅助工具类,实现简单的 http Post和Get接口请求.
 * 时间: 20230504 13:36
 */
#pragma once
#include <curl/curl.h>

#define UCHAR unsigned char

/**
 * POST接口请求
 * @param urlStr       url
 * @param heads        请求头
 * @param strMsgBody   请求消息体
 * @param function     回调函数
 * @return
 */
CURLcode curlPostData(char* urlStr, char* heads, char* strMsgBody, size_t(*function)(void* buffer, size_t size, size_t nmemb));

/**
 * GET接口请求
 * @param urlStr       url
 * @param heads        请求头
 * @param strMsgBody   请求消息体
 * @param function     回调函数
 * @return
 */
CURLcode curlGetData(char* urlStr, char* heads, char* strMsgBody, size_t(*function)(void* buffer, size_t size, size_t nmemb));

/**
 * 图片转base64
 * @param imgPath  图片路径
 * @return base64字符串
 */
void base64Encode(UCHAR*, int, char*);
char* parseBase64(const char*);